Skip to content

Conversation

folkertdev
Copy link
Contributor

fixes #147348

The power alignment rule only applies to the non-first field of a struct, and so should not apply to unions at all.

The current code also does not consider enums (whose fields might be, morally, structs). Given that C does not actually have ADTs like this it's probably fine from a compatibility perspective, but I'll leave that to the powerpc folks.

cc @daltenty @gilamn5tr
r? compiler

@folkertdev folkertdev added the O-aix OS: Big Blue's Advanced Interactive eXecutive.. label Oct 5, 2025
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Oct 5, 2025
@workingjubilee
Copy link
Member

this is also fixed by #142310

@workingjubilee
Copy link
Member

workingjubilee commented Oct 5, 2025

I will register my opinion that I do not think we should fix this by continuing to maintain known-bad code, but I'm not sure I have a good answer for what to do otherwise.

@RalfJung
Copy link
Member

RalfJung commented Oct 5, 2025

#142310 trades one set of incorrectly laid-out structs for another... that's a non-trivial decision, also confirmed by the fact that that PR has been open for a while.

I think it makes sense to fix ICEs in existing code even if we know it is not the code we want to have long-term.
@bors r+

@bors
Copy link
Collaborator

bors commented Oct 5, 2025

📌 Commit 5a0ea3b has been approved by RalfJung

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 5, 2025
@workingjubilee
Copy link
Member

That sounds reasonable.

@bors
Copy link
Collaborator

bors commented Oct 5, 2025

⌛ Testing commit 5a0ea3b with merge 4fa824b...

@bors
Copy link
Collaborator

bors commented Oct 6, 2025

☀️ Test successful - checks-actions
Approved by: RalfJung
Pushing 4fa824b to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Oct 6, 2025
@bors bors merged commit 4fa824b into rust-lang:master Oct 6, 2025
11 checks passed
@rustbot rustbot added this to the 1.92.0 milestone Oct 6, 2025
Copy link
Contributor

github-actions bot commented Oct 6, 2025

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 8392220 (parent) -> 4fa824b (this PR)

Test differences

Show 2 test diffs

2 doctest diffs were found. These are ignored, as they are noisy.

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 4fa824bb78318a3cba8c7339d5754b4909922547 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. dist-aarch64-apple: 6245.9s -> 7548.6s (20.9%)
  2. dist-apple-various: 3228.6s -> 3563.9s (10.4%)
  3. pr-check-1: 1514.8s -> 1361.8s (-10.1%)
  4. x86_64-gnu-miri: 3965.6s -> 4355.8s (9.8%)
  5. x86_64-gnu-tools: 3227.8s -> 3458.9s (7.2%)
  6. dist-x86_64-apple: 7276.0s -> 6809.7s (-6.4%)
  7. x86_64-mingw-1: 10024.2s -> 9422.7s (-6.0%)
  8. dist-ohos-armv7: 4335.2s -> 4095.5s (-5.5%)
  9. dist-sparcv9-solaris: 5380.2s -> 5093.4s (-5.3%)
  10. dist-x86_64-msvc-alt: 9540.7s -> 9040.2s (-5.2%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (4fa824b): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.9% [-1.0%, -0.8%] 6
All ❌✅ (primary) - - 0

Max RSS (memory usage)

This benchmark run did not return any relevant results for this metric.

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 471.555s -> 470.653s (-0.19%)
Artifact size: 388.38 MiB -> 388.36 MiB (-0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. O-aix OS: Big Blue's Advanced Interactive eXecutive.. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ICE in improper_ctypes on AIX
7 participants